﻿# -*- codeing = utf-8 -*-
# @Time: 2021/9/28 21:30
# @Author: Ivan
# @File: 14-变量.py
# @Software: PyCharm

'''
变量和数据分开存储：数据保存在内存中、变量保存数据在内存中的地址(这就叫引用)

函数调用的参数，传递的引用
函数的返回值返回的是函数结果的引用

不可变类型：
数字类型：int bool float complex  long(2.x)
字符串：str
原则：tuple

可变类型：
列表：list
字典：dict

使用方法修改数据不会改变数据的地址
使用赋值修改数据会改变数据的地址

字典的键只能是不可变类型，不能是可变类型

python不允许直接修改全局变量的值
'''
# 定义全局变量最好加一个前缀g_num
num = 10
def demo1():
    # 生命num是全局变量
    global num
    num = 20
    print('num = %d' %num)

def demo2():
    print('num = %d' %num)

# demo1()
# demo2()

# 函数返回值
def returnRes():
    name = 'tom'
    age = 20
    # return (name, age) # 返回元组可以简写括号
    return name, age
name, age = returnRes()
# print(returnRes())
# print('%s---%d' %(name, age))

# 函数传参是可变类型，在函数内部修改变量后会影响外部的变量
# 列表变量+=本质是调用列表的extend方法

# 交换
a = 10
b = 20

# c = a
# a = b
# b = c
# print('a=%d, b=%d' %(a, b))

# a = a + b
# b = a - b
# a = a - b
# print('a=%d, b=%d' %(a, b))

# python专有
a, b = b, a
print('a=%d, b=%d' %(a, b))





